package com.liusy.serachengine;




import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.search.IndexSearcher;



/**
 * 
 * 索引创建者接口
 * 
 * @author liusy 2013-02-19
 *
 */
public interface IIndexModel {

	/**
	 * 创建索引
	 * 
	 * @param obj 要创建的数据 (对像、文件、rowdata等)
	 * @param create 是否新建，或者更新
	 */
	 void CreateIndex(IConvertModel obj, boolean create);

	/**
	 * 得到索引器
	 * 
	 * @return
	 */
	IndexSearcher getIndexSearcher();
	  
  	/**
  	 * 是否已经关闭写入流
  	 * 
  	 * @return
  	 */
	boolean isCloseWriter();

  	/**
  	 * 关闭写入 流
  	 */
	void setCloseWriter();

	/**
	 * 创建索引后，更新索引目录索引器
	 */
	void UpdateIndexSearcher();

	/**
	 * 得到当前创建索引的目录
	 * 
	 * @return
	 */
	String getIndexPath();

	/**
	 * 得到当前建索引使用的分析词
	 * 
	 * @return
	 */
	Analyzer getAnalyzer();

	
	/**
	 * 将当前搜索出的文档转换对像
	 * 
	 * @param doc
	 * @return
	 */
	IConvertModel getConvertModel();

}
